package com.lpf.api.controller;

import java.util.UUID;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.lpf.base.BaseApiService;
import com.lpf.base.BaseRedisService;
import com.lpf.base.ResponseBase;

@RestController
public class PayController extends BaseApiService {

    @Autowired
    private BaseRedisService baseRedisService;
    private static long timeToken = 15 * 60l;

    @RequestMapping("/pay")
    public ResponseBase pay(String token) {
        // 获取提交参数 数据库保存.,
        if (StringUtils.isEmpty(token)) {
            return setResultError("token 不能为空！");
        }
        String reuslt = (String) baseRedisService.getString(token);
        if (StringUtils.isEmpty(reuslt)) {
            return setResultError("参数不能空!");
        }
        System.out.println("获取提交的参数reuslt：" + reuslt);
        return setResultSuccess("获取提交的参数reuslt：" + reuslt);
    }

    // 先获取参数接口，返回令牌
    // 使用令牌传递参数
    // 服务器端调用的，不是前端调用的
    // 前端选择物品->id给后台->后台查询产品->调用getPayToken接口
    @RequestMapping("/getPayToken")
    public String pay(Long userId, Long money) {
        // 生成令牌
        String payToken = UUID.randomUUID().toString();

        // 存放在redis中
        baseRedisService.setString(payToken, userId + "-" + money, timeToken);
        return payToken;
    }

}
